/**
 * ShoppingCart 业务逻辑
 * @author WangXinLei
 * @date 2014-09-10
 */
package com.chnbst.bstyun.service;

import java.util.List;
import java.util.Map;

import com.chnbst.bstyun.model.pojo.ShoppingCart;
import com.chnbst.bstyun.model.vo.ShoppingCartVo;

public interface ShoppingCartService {
	
	/**
	 * 添加购物车中的产品
	 * @param shoppingCart 购物车中的产品
	 * @return 返回自动增量id对象
	 */
	boolean insertShoppingCart(ShoppingCart shoppingCart);
	
	/**
	 * 根据主键查询购物车中的产品
	 * @param shoppingCartId 购物车编号
	 * @return 返回购物车对象
	 */
	ShoppingCart selectShoppingCartByShoppingCartId(Integer shoppingCartId);
	
	/**
	 * 更新购物车中的产品
	 * @param shoppingCart 购物车中的产品
	 * @return 布尔值 成功为true，失败为false
	 */
	boolean updateShoppingCart(ShoppingCart shoppingCart);

    /**
     * 查询指定用户的购物车中的所有产品
     * @return 返回指定用户的购物车中的所有产品
     */
    List<ShoppingCartVo> selectShoppingCartVosByUserId(Integer userId);
    
    /**
     * 查询指定用户的购物车中的所有产品的总数
     * @return 返回指定用户的购物车中的所有产品的总数
     */
    Map<String, Object> selectShoppingCartCountByUserId(Integer userId);
   
}
